package top.kaoshanji.p4ch24d;

/**
 * 代码清单-p4ch24d-295页a：发起人角色
 * @author kaoshanji
 * ^_^
 * create time 2025/3/26 21:28
 */
public class Originator {

    // 内部状态
    private String state = "";

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    /**
     * 创建一个备忘录
     * @return Memento
     */
    public Memento createMemento() {
        return new Memento(this.state);
    }

    /**
     * 恢复一个备忘录
     * @param memento Memento
     */
    public void restoreMemento(Memento memento) {
        this.setState(memento.getState());
    }

}
